The present invention relates generally to code modulation. More specifically, the present invention relates to encoding a signal with data using spectral notching.
Many situations exist in which it is desirable to encode data in a signal which is already carrying information. It is further desirable to encode the data in a signal without adversely affecting the communication taking place using the signal.
One such situation exists in broadcast communications. In television, for example, it is sometimes desirable to communicate additional information to the destination in addition to the traditional video and audio information. The additional information may be used by decoding apparatus at the destination to assist in decoding coded video and audio data. The additional information may also be used for broadcast verification in which a company may, for example, monitor the broadcast of commercials. A further application involves the use of the additional information for audience monitoring in which the additional information is used to monitor audience viewing habits.
In broadcast communications, the available bandwidth for broadcasting information is limited. The available bandwidth is typically allocated between video and audio information leaving little, if any, bandwidth for additional information. Thus, it is desirable to be able to encode the additional information in the existing video or audio channels. A further advantage of encoding additional information in an audio or video channel is that televisions come equipped with apparatus necessary for the receipt of audio and video channel signals. However, since televisions typically directly convert the video and audio channels into video images and audio that the end user observes, the challenge is to encode the additional information in such a way that the user is not aware of its existence.
In the past, attempts have been made to encode additional information into audio channels. Some attempts inserted information in frequencies out of the audio range. Those attempts, however, suffered from poor data rates and the ability of many pets and people with excellent hearing to perceive the often discomforting additional frequencies. Other attempts, such as that disclosed in U.S. Pat. No. 5,828,325, titled xe2x80x9cApparatus and Method for Encoding and Decoding Information in Analog Signalsxe2x80x9d, involved the manipulation of time domain audio signals. Such attempts typically affected the quality of the audio channel in such a way that users could detect the manipulations.
Other attempts, such as that disclosed in U.S. Pat. No. 4,876,617, titled xe2x80x9cSignal Identificationxe2x80x9d, completely eliminated frequency ranges which were subsequently used to insert coding signals. Such attempts suffered from the ability of users to perceive the inserted coding signals which were inserted within the audio range.
Thus, a need has long existed in the art of broadcast communications for a method and apparatus for encoding data on a signal that does not appreciably affect the integrity of the signal.
Accordingly, it is an object of the present invention to provide a method and apparatus for encoding data in a signal using notch depth modulation.
It is a further object of the present invention to provide a method and apparatus for decoding data which has been encoded in a signal using notch depth modulation.
It is a still further object of the present invention to provide a method and apparatus for inaudibly communicating data in an audio signal.
One or more of the foregoing objects is met in whole or in part by a preferred embodiment of the present invention that provides a method and apparatus for encoding data in a signal using notch depth modulation and decoding data from a signal in which the data has been encoded using notch depth modulation.
The method determines the data to be encoded in the signal. The method then determines a frequency notch representation of the data. The method converts the signal into a digital representation which is subsequently notch filtered according to the frequency notch representation. The method then converts the notch filtered digital signal into a coded analog signal for subsequent transmission.
The method further comprises decoding data from a coded signal in which the data has been encoded using notch depth modulation. The method converts the coded signal into a digital representation which is further converted into a digital frequency domain representation. The method analyzes selected notch frequencies in the digital frequency domain representation to determine notch depths at each of the selected notch frequencies. The method analyzes frequencies between the selected notch frequencies in the digital frequency domain representation to determine notch thresholds at each of the selected notch frequencies. The method decodes the data from the coded signal by comparing the notch depths at the selected notch frequencies to the respective notch thresholds and converting the results of the comparison to the decoded data.
The apparatus of the preferred embodiment includes encoding apparatus comprising an A/D converter for converting an original signal into a digitized signal. The apparatus includes a code former which provides the data to be encoded in the original signal. The apparatus includes a notch filter which notch filters the digitized signal according to the data. The notch filter preferably includes an infinite impulse response filter to filter notches into the digitized signal according to the data. The apparatus also includes a D/A converter to convert the digitized coded signal to an analog signal.
The apparatus of the preferred embodiment also provides decoding apparatus including a digitizer for converting a coded analog signal into a coded digitized signal. The apparatus includes a Fourier transform circuit to convert the coded digitized signal into a frequency domain representation. The apparatus includes a threshold determiner for determining notch thresholds at selected notch frequencies. The threshold determiner preferably includes a between-notch spectral level determiner. The apparatus further includes a data detector which detects raw data in the signal by comparing spectral levels at selected notch frequencies with the notch thresholds. A decoder then converts the raw data into decoded data.